Information notification apparatus, information notification method, computer-readable program and storage medium

ABSTRACT

An information processor sets timing for a print end notification to when printing by a network printer ends or when transmission of data to a print device ends. If the timing for the print end notification is set to when transmission ends, the print end notification (display) is performed when transmission of data to the network printer ends, while if the timing for the print end notification is set to when printing ends, the print end notification is displayed when printing by the network printer ends.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to an information notificationapparatus, an information notification method, a computer-readableprogram and a storage medium.

[0003] 2. Related Background Art

[0004] Conventionally, there have been printing systems in which aninformation processor such as a computer and a plurality of printers(devices) are connected in a communicatable manner, the informationprocessor receives a print end notification from any of printers thatcan perform a print check, i.e. a function to check the print status,and the information processor displays the print end notification on itsdisplay section. In such a print system, devices of models that canperform print check and devices of models that cannot perform printcheck can both be registered.

[0005] In the conventional print systems described above, for example,it may be desirous if a print end notification be displayed at the timewhen data I transmission from an information processing apparatus to adevice (i.e., a print device) ends, i.e., at the time of “completion ofdata transmission”, when the device does not have the function toperform print check. Also, it may be desirous if a print endnotification be displayed at the time when a device (i.e., a printdevice) confirms end of printing, i.e., at the time of “printconfirmation”, when the device has the function to perform print check.

[0006] However, such conventional examples entail the followingproblems: In a print system in which both devices of models that canperform print check and devices of models that cannot perform printcheck are registered, a setting for displaying a print end notificationcannot be appropriately chosen among the cases upon completion of datatransmission from an information processor to a device and uponcompletion of printing by the device. In addition, a default setting,which is automatically set when a user does not designate any setting,cannot be set in advance from a range of display settings for print endnotification, which are relevant to capabilities of each device, and canbe used for each device. Furthermore, if the print end notificationsetting is automatically changed due to impact from other settings,there was no way for the user to be informed that the print endnotification setting had been changed.

SUMMARY OF THE INVENTION

[0007] The present invention allows a user to choose to have a print endnotification performed either when job transmission ends or whenprinting ends based on difference in capabilities between print devicesand the system in terms of their print check function.

[0008] The present invention makes it possible to set a default printend notification setting within the range of usable print endnotification settings without a user's determining the capabilities ofdevices to be registered.

[0009] The present invention changes the print end notification settingautomatically to a usable setting when other settings that impact theprint end notification setting are changed and notifies the user thatthe print end notification setting has been automatically changed.

[0010] In accordance with an embodiment of the present invention, aninformation notification apparatus includes: an input unit for settingthe timing to make a print end notification to when printing by a deviceends or to when data transmission to the device ends; and a notificationunit for making the print end notification when data transmission to thedevice ends if the timing for the print end notification is set to whentransmission ends, and for performing the print end notification whenthe printing by the device ends if the timing for the print endnotification is set to when printing by the device ends.

[0011] In addition, in accordance with another embodiment of the presentinvention, an information notification method includes: an input step ofsetting the timing to make a print end notification to when a deviceends printing or when data transmission to the device ends; and anotification step of making the print end notification when datatransmission to the device ends if the timing for the print endnotification is set to when data transmission to the device ends, andmaking the print end notification when the device ends printing if thetiming for the print end notification is set to when the device endsprinting.

[0012] Furthermore, a computer-readable program in accordance with anembodiment of the present invention causes a computer to execute aninput function for setting the timing to make a print end notificationto a when a device ends printing or when data transmission to the deviceends; and a notification function for making the print end notificationwhen data transmission to the device ends if the timing to make theprint end notification is set to when data transmission to the deviceends, and for making the print end notification when the device endsprinting if the timing for the print end notification is set to when thedevice ends printing.

[0013] Other objects, features and advantages of the invention willbecome apparent from the following detailed description taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1 shows a block diagram of a configuration of an informationprocessing system in accordance with a first embodiment of the presentinvention.

[0015]FIG. 2 shows a block diagram of a configuration of an informationprocessor in accordance with the first embodiment.

[0016]FIG. 3 shows a diagram of a configuration of a memory map of a RAMof the information processor in accordance with the first embodiment.

[0017]FIG. 4 shows a diagram of a configuration of a memory map of an FDof the information processor in accordance with the first embodiment.

[0018]FIG. 5 shows a diagram indicating how a network printer controlprogram and related data are supplied by an FD drive and an FD to theinformation processor in accordance with the first embodiment.

[0019]FIG. 6 shows a diagram indicating how a print job issued from ageneral application is processed in a print job control system in aclient-server model of the information processing system in accordancewith the first embodiment.

[0020]FIG. 7 shows a diagram indicating the relations between a printsystem and a print job in the print job control system, as well as theoverview of processing, in accordance with the first embodiment.

[0021]FIG. 8 shows a diagram of a configuration of a general-purposeprint file in accordance with the first embodiment.

[0022]FIG. 9 shows a flowchart of a processing for creating a port inaccordance with the first embodiment.

[0023]FIG. 10 shows a flowchart of a processing for changing portsettings in accordance with a second embodiment of the presentinvention.

[0024]FIG. 11 shows a diagram of a port adding screen in accordance withthe first embodiment.

[0025]FIG. 12 shows a diagram of a device's detail tab screen inaccordance with the first and second embodiments.

[0026]FIG. 13 shows a diagram of a port editing screen in accordancewith to the first and second embodiments.

[0027]FIG. 14 shows a diagram of a device's detail tab screen accordingto the first embodiment.

[0028]FIG. 15 shows a diagram of a setting change message for print endnotification timing in accordance with the second embodiment.

[0029]FIG. 16 shows a flowchart of a print end notification processingin accordance with the first embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0030] The following is a detailed description, based on drawings, ofpreferred embodiments according to the present invention. [FirstEmbodiment]

[0031] First, a first embodiment of the present invention will bedescribed below. FIG. 1 is a block diagram of the configuration of aninformation processing system according to the first embodiment. Theinformation processing system comprises an information processor 101 asa server, information processors 102, 103, 104 as a plurality of clientcomputers (hereinafter called “clients”), and a printer 105 as aplurality of network printers, which are mutually connected via anetwork 106. According to the present information processing system, oneor a plurality of client computers is assumed to be connected to thesystem. In the present example, only one network printer is indicated inthe drawing for the sake of convenience.

[0032] In FIG. 1, the information processors 102, 103, 104 that serve asclient computers (clients) are connected to the network 106 via networkcables such as Ethernet®, are capable of executing various programs suchas application programs, and have installed on them printer drivers witha function to convert print data into a printer language compatible withthe network printer 105. The clients support a plurality of printerdrivers. The network printer 105 may be of various types, such as alaser beam printer that uses the electrophotography method, an inkjetprinter that uses the inkjet method, or a thermal transfer printer thatuses the thermal transfer method.

[0033] The information processor 101 as the server (hereinafter called a“print server”) according to the first embodiment is connected to thenetwork 106 via a network cable, and it accumulates files used on thenetwork 106 and monitors the usage status of the network 106. The printserver 101 manages a plurality of network printers 105 connected to thenetwork 106. According to the configuration of the first embodiment, theclient computers 102-104 and the print server 101 are generalinformation processors, and the client computers 102-104 and the printserver 101 each stores in an executable manner a print control programthat performs different controls.

[0034] The print server 101 may also have functions of the clientcomputers 102-104. In addition, the print server 101 has functions tostore and print print jobs containing print data requested to be printedby the client computer 102, 103 or 104; to receive from the clientcomputer 102, 103 or 104 only job information that does not containprint data, manage print queue for the client computers 102, 103 and104, and notify to the client computer 102, 103 or 104 whose turn in theprint queue has arrived a transmission permission for a print job thatcontains print data; and to obtain status information on the networkprinter 105 and various print job information and notify suchinformation to the client computer 102, 103 or 104.

[0035] The network printer 105 which is a printing device is connectedto the network 106 via a network interface, not shown, and it analyzesprint jobs that contain print data sent from the client computers102-104, converts the print data into dot images on a page-by-pagebasis, and print one page at a time. The network 106 is connected to theclient computers 102, 103, 104, the print server 101 and the networkprinter 105.

[0036]FIG. 2 is a block diagram of the configuration of the informationprocessor according to the first embodiment. The information processoris equipped with a CPU 200, a ROM 201, a RAM 202, a Floppy® disk (FD)drive 203, an FD 204, a hard disk (HD) 205, a keyboard 206, a display207, a system bus 208 and an interface 209. The client computers 102,103, 104 which are information processors have the hardwareconfiguration indicated in FIG. 2, and the print server 101 which is aninformation processor also has the hardware configuration that is thesame as or equivalent to the configuration indicated in FIG. 2.Consequently, FIG. 2 will be described as a block diagram that describesthe configuration of the client computers 102-104 and of the printserver 101.

[0037] In FIG. 2, the CPU 200 is a control device for the informationprocessor; it executes application programs, printer driver programs, anOS (operating system) and a network printer control program according tothe present invention that are all stored on the hard disk (HD) 205, andperforms a control to temporarily store in the RAM 202 information andfiles required for the execution of the programs. The ROM 201 is aread-only memory device and stores programs such as basic I/O programsand various data such as font data and template data used in documentprocessing. The ROM 202 is a temporary storage device and functions as amain memory and a working area for the CPU 200.

[0038] The FD drive 203 is a storage medium reading device and, asindicated in FIG. 5 described later, can load on the informationprocessor (a computer system) programs stored on the FD 204 that servesas a storage medium. The storage medium is not limited to the FD and maybe any other storage medium, such as a CD-ROM, CD-R, CD-RW, PC card,DVD, IC memory card, MO or a memory stick. The FD 204 is a storagemedium that stores programs that the computer can read and is mounted ina detachable manner on the FD drive 203.

[0039] The hard disk (HD) 205 is one of external storage device andfunctions as a large capacity memory; it stores application programs,printer driver programs, the OS, a network printer control program andrelated programs. In addition, a spooler that serves as a spoolingmodule is stored on the HD 205. The spooling module refers to a clientspooler in the client computers 102-104 and to a server spooler in theprint server 101. The print server 101 also generates and stores on theHD 205 tables for storing print jobs received from the client computers102-104 and for controlling the print job queue.

[0040] The keyboard 206 is an instruction input device that a user usesto input and instruct such instructions as device control commands tothe client computers 102-104, as well as an instruction input devicethat an operator or an administrator uses to input and instruct suchinstructions as device control commands to the print server 101. Thedisplay 207 is a display device that displays commands inputted throughthe keyboard 206 or the status of the network printer 105. The systembus 208 governs the flow of data within the information processor suchas the client computers 102-104 and the printer server 101. Theinterface 209 is an input/output device; the information processorsexchange data with external devices via the interface 209.

[0041]FIG. 3 is a diagram of an example of a memory map of the RAM 202of the information processor shown in FIG. 2 and indicates a memory mapwhen the network printer control program loaded from the FD 204 has beenloaded onto the RAM 202 and has become executable. A memory map 300 ofthe RAM 202 comprises a basic I/O program 301, an OS 302, a networkprinter control program 303, related data 304 and a work area 305.

[0042] An example in which the network printer control program and therelated data are directly loaded onto the RAM 202 from the FD 204 isindicated according to the first embodiment, but a network printercontrol program that is already installed on the HD 205 can be loadedonto the RAM 202 every time the network control program is operatedthrough the FD 204. Further, the medium that stores the network printercontrol program may be a CD-ROM, CD-R, CD-RW, PC card, DVD, IC memorycard, MO or a memory stick, in addition to the FD. The network printercontrol program can also be stored on the ROM 201 and made a part of thememory map through reconfiguration, and the CPU 200 can directly executethe network printer control program. Moreover, software that realizesfunctions equivalent to those of the devices described can be utilizedas an alternative to the hardware apparatus.

[0043] The network printer control program is sometimes simply called aprint control program. The print control program in the client computers102-104 includes a program that controls instructions for changing printdestination of print jobs and changing print queue; in the print server101 the print control program includes a program that controls the queueof print jobs and notifies the end of print jobs and print destinationchange requests.

[0044] The print control program according to the present invention thatperforms such controls may be divided into a module that is installed onthe client computers 102-104 and a module that is installed on the printserver 101, or it may be a single print control program that functionsas a print control program for a client computer or for a print serverdepending on the environment in which it is executed. Alternatively, amodule with functions of the print control program for a client computerand a module with functions for a print server can both be installed ona single computer, where the two modules are operated in parallelsimultaneously or pseudo-simultaneously through time division.

[0045] In FIG. 3, the basic I/O program 301 is a region with a programhaving IPL (Initial Program Loading) functions that cause the OS to beread from the HD 205 to the RAM 202 and the operations of the OS tobegin when the power source of the information processor is turned on.The OS 302 is a region that stores the operating system. The networkprinter control program 303 is stored in a region reserved in the RAM202. The related data 304 are stored in a region reserved in the RAM202. The work area 305 has a region in which the CPU 200 executes thenetwork printer control program.

[0046]FIG. 4 is a diagram of an example of a memory map of the FD 204 ofthe information processor in FIG. 2. The memory map of the FD 204comprises volume information 401, directory information 402, a networkprinter control program 403 and related data 404.

[0047] In FIG. 4, reference numeral 400 denotes data contents of the FD204. The volume information 401 indicates data information. Thedirectory information 402 is file management information of the FD 204.The network printer control program 403 is the print control programdescribed in the first embodiment. The related data 404 are data relatedto the network printer control program 403. The network printer controlprogram 403 has been programmed based on a flowchart described in thefirst embodiment, and the network printer control program 403 has thesame configuration in both the client computers 102-104 and in the printserver 101 according to the first embodiment.

[0048]FIG. 5 is a diagram indicating how the network printer controlprogram and the related data are supplied by the FD drive 203 and the FD204 to the information processor in FIG. 2. Elements in FIG. 5 that areidentical to elements in FIG. 2 are assigned the same numbers.

[0049] In FIG. 5, the FD 204 stores the network printer control programand the related data described in the first embodiment. The networkprinter control program and the related data are supplied to theinformation processor via the FD drive 203 and the FD 204.

[0050] Next, a description will be made as to a print job control systemin the information processing system according to the first embodimentthat performs print processing such as a distributed printing, in whicha print job is distributed among a plurality of network printers toperform printing; a broadcast printing, in which a print job involving aplurality of copies is distributed among a plurality of network printersfor each network printer to print one copy; and a substitute printing,in which a printing by a network printer is substituted by anothernetwork printer.

[0051] In the first embodiment, a driver, which can uniformly instructprint settings to individual printer drivers that each corresponds toone of a plurality of printer devices (network printers) and whichgenerates base data (general-purpose document data) for generatinggeneral-purpose print files to allow a de-spooler (described in detaillater) to notify a draw instruction to each printer driver, is called agroup printer driver. Individual printer drivers that are dependent onprint devices are called member printer drivers.

[0052]FIG. 6 is a diagram that indicates how a print job issued from ageneral application such as Microsoft Word® is processed in a print jobcontrol system in a client-server model of the information processingsystem.

[0053] In FIG. 6, a client machine 600 is a machine on which a clientmodule of the print job control system operates. Normally, when aninstruction to print is given, an application program 601 causes aseries of draw instructions to be generated via an OS's graphicfunctions and transfers the draw instructions to a Windows® spooler 604via a group printer driver 603. The Windows® spooler 604 transfers printjob data to a port monitor selected by a user and performs a procedureto send the print job data to one or more print devices (printingdevices) 650. According to the first embodiment, the user designates aport monitor for print job control system 621 (hereinafter simplyreferred to as a “job control port monitor” in the first embodiment) inadvance and instructs printing.

[0054] The application program 601 generates a series of drawinstructions via the OS. Upon receiving the draw instructions, the groupprinter driver 603 generates general-purpose document data, which areused to generate a general-purpose print file, and sends thegeneral-purpose document data not to the port monitor that sends theprint job data to the print devices 650, but to the job control portmonitor 621 as print job data. Instead of sending the print job data tothe print devices 650, the job control port monitor 621 sends the printjob data to a print service for print job control system 622(hereinafter abbreviated as a “job control print service”).

[0055] The job control print service 622 is equipped with a function tomanage job/device status managed by a server for print job controlsystem 630 (hereafter simply referred to as a “job control server” inthe first embodiment). Further, in situations in which the print devices650 and the client machine 600 operate in a peer-to-peer connectionenvironment (i.e., a connection environment without hierarchicalrelationship), the job control print service 622 also has functions tomanage information on device status and job status notified from theprint devices 650 and to issue predetermined instructions to the printdevices 650. This is comparable to a function for managing deviceinformation and job information of a plurality of print devices 650.

[0056] A print manager for print job control system 623 (hereinafterabbreviated as a “job control print manager” in the first embodiment) isa program that provides a user interface (UI) that allows a user tocheck the status of a print job or to operate a print job within the jobcontrol print service 622. The job control print manager 623 sends andreceives information to and from the job control print service 622 via asoftware interface (API: Application Program Interface) of the jobcontrol print service 622 and has a function to mainly obtain statusinformation of the external print devices 650 managed by the job controlprint service 622 as events.

[0057] Among conceivable types of event notifications are notificationsof error/warning information such as warnings to indicate low toner,communication failure between the client machine 600 and the printdevices 650, insufficient memory, and a paper delivery tray full ofpaper; and a notification of normal status information to indicate thatthe normal status has been resumed from an error status.

[0058] The server for print job control system 630 (simply referred toas the “job control server” in the first embodiment) performscentralized control (i.e., scheduling) of the timing for the job controlprint server 622 in each client machine 600 to send print job data tothe print devices 650. Additionally, the job control server 630 has afunction to monitor printer status such as print in execution, powercontrol status and failure information (paper jam) of each of the printdevices (printing devices) 650 that is communicatable via a network, aswell as a function to notify events to the job control printer service622. However, with regard to monitoring changes in print status, the jobcontrol print service 622 can obtain notifications of changes in status(i.e., events) directly from the print devices 650.

[0059] A management console for print job control system 633(hereinafter simply referred to as a “job control management console” inthe first embodiment) can monitor the entire print job control system byexchanging information and instructions with the job control server 630via an API that allows the job control server 630's software to access.Furthermore, the job control server 630 communicates with each printdevice 650 using a device information control module 631 and obtains andoperates information concerning print jobs and operation status withineach print device 650. The information obtained can be transferred tothe job control print service 622 of the client machine 600.

[0060] Next, a description will be made as to a printing performed bythe group printer driver 603 of the client machine 600 according to thefirst embodiment.

[0061] The group printer driver 603 generates general-purpose documentdata, as described above, based on a series of draw instructionsgenerated by the application program 601. The general-purpose documentdata are converted into a general-purpose print file, which is a file inan intermediate format that is not dependent on the type of the printdevices 650, by the job control print service 622. The configuration ofthe general-purpose print file will be described later.

[0062] As described earlier, the general-purpose print file is (a)transferred from the Windows® spooler 604 to the job control portmonitor 621 and (b) led to the job control print service 622. The jobcontrol print service 622 (c) generates draw instructions based on thegeneral-purpose print file according to the type of the job control tobe performed for the print job, and a PDL (Page Description Language)driver 602 converts the draw instructions into a PDL file that the printdevices 650 can interpret.

[0063] In FIG. 6, an example in which a job control to divide a printjob into two print jobs in the job control print service 622 is shown,and the example of generating two member jobs is indicated by two arrows(c). The PDL files generated by the PDL driver 602 are (d) transferredto the Windows® spooler 604 and to the job control port monitor 621 and(e) transferred again to the job control print service 622. The jobcontrol print service 622 (f) sends print job data in PDL format to theprint devices 650 according to instructions from the job control server630.

[0064] The job control print service 622 follows print instructionscontained in the general-purpose print file and logically divides onegeneral-purpose print file into a plurality of print jobs and sends themto different print devices, or re-sends to a different printing devicethe print job data that had already been sent to another print device.Arrows (c), (d), (e) and (f) in FIG. 6 indicate the route of print jobdata in such cases.

[0065] On the other hand, if application software creates ageneral-purpose print file and directly sends the general-purpose printfile as a print job, the manner in which information is transferred tothe group printer driver 603 and the content of the processing thattakes place in the group printer driver 603 differ from the manner inwhich these are processed in the case of a general application. Asdescribed above, when using a general application, the applicationprogram 601 calls up a GDI (Graphics Device Interface) function of theWindows® , as does ordinary printer drivers, when transferring drawinformation to the group printer driver 603; the group printer driver603 generates general-purpose document data according to the GDIfunction; and the general-purpose document data thus generated are madeinto a general-purpose print file by the job control print service 622.

[0066] In contrast, in the case of an application that directlygenerates a general-purpose print file, the application program 601 hasa general-purpose print file to begin with and supplies the file to thegroup printer driver 603. The group printer driver 603 rewrites asnecessary, based on the print method set in advance, print instructionscontained in the general-purpose print file and sends the result to theWindows® spooler 604.

[0067]FIG. 8 is a diagram of an example of the configuration of ageneral-purpose print file. The general-purpose print file used in thefirst embodiment comprises a print instruction section 8-a and adocument data section 8-b. The print instruction section 8-a is a partthat describes document information and print instructions. The documentdata section 8-b is application data converted into general-purposeformat data, namely data in a format that is not dependent on printerlanguages.

[0068] The print instruction section 8-a comprises a header section, apage information section, a print format instruction section, an outputmethod instruction section, a group printer driver setting informationsection, a member printer number section, a member printer driver namesection, and a member printer driver setting information section.

[0069] The header section is a part that stores information such asgeneral-purpose print file version identification and file information.The page information section is a part that stores information such asthe number of pages and the size of each page in document data containedin the document data section 8-b. The print format instruction sectionis a part that stores information relating to output format, such asprinting page range, number of copies, document data impositioninformation (N-UP and binding printing), staple instructions and holepunching instructions. The output method instruction section is a partthat stores information such as distributed printing, color-monochromedistributed printing, substitute printing and broadcast printing as anoutput method.

[0070] The group printer driver setting information section is a partthat stores setting information of the group printer driver 603's UI,described later. The member printer number section is a part that storesthe number of member printers to which the group printer driver 603 iscorrelated. The printer member driver name section stores the printerdriver name of each member printer. The member printer driver settinginformation section stores driver UI setting information of each memberprinter, such as DEVMODE information. The member printer driver namesections and the member printer driver setting information sections eachhave storage areas in numbers that correspond to the number of themember printers registered in the member printer number section.

[0071] The group printer driver 603 described in FIG. 6 stores in theprint instruction section 8-a the setting of its GUI (Graphical UserInterface) when it generates the general-purpose print file. Inaddition, the group printer driver 603 converts the data received in theWindows® GDI into general-purpose data and records them as document datain the document data section 8-b of the general-purpose print file.

[0072] Next, referring to FIG. 7, the relations between a print systemprovided by Windows® (and a print job in the print job control system,as well as the overview of processing, will be described in greaterdetail.

[0073] A print job control system 700 in FIG. 7 represents the scope ofa print job control system straddling physical machines on which serverand client control programs operate. Output ports 711 (e.g., 711A and711B in this embodiment) managed by the server are correlated to proxyoutput ports 712 (e.g., 712A and 712B in this embodiment) of theclient's job control print service 622, such that the servercomprehensively manages all proxy output ports on each of the clientscorrelated to each output port 711.

[0074] In the first embodiment, actual print job data are retained inthe proxy output ports 712 of individual clients. The job control server630 does not perform a send processing for the print job data itself,but only instructs the job control print service 622 to send print jobs.Based on such instructions, the client's job control print service 622sends print job data to the print devices 650.

[0075] Next, a description will be made as to a processing that takesplace when the print job control system 700 performs a value-addedprinting such as substitute printing, distributed printing or broadcastprinting.

[0076] When the print job control system 700 performs a value-addedprinting such as substitute printing, distributed printing or broadcastprinting, the user or the application program 601 must issue a print jobto the print devices 650 allocated by the group printer driver 603, asdescribed above. The job control print service 622 receives as ageneral-purpose print file via the job control port monitor 621 the jobdata that has been processed by the group printer driver 603. The jobcontrol print service 622 receives the job, and issues via a de-spooler701 the job (i.e., member jobs) to different print devices for which thePDL drivers are allocated in order to have the print devices perform theprinting.

[0077] When this takes place, the de-spooler 701 interprets the printinstruction section 8-a of the general-purpose print file described inFIG. 8, processes document data in the document data section 8-b,converts them into Windows® GDI, gives print instructions to concernedprinter drivers, and issues print jobs. For example, if an instructionfor 2-UP is recorded in the print format instruction section of theprint instruction section 8-a, document data for 2 pages are compressedand laid out on one page. When performing a distributed printing orbroadcast printing, a job is issued to each of a plurality of memberprinters described in the print instruction section 8-a according tosuch settings. For substitute printing, when conditions for substitutionare met, a member job is issued according to settings made in advance inautomatic substitution and according to the user's operations in manualsubstitution. Furthermore, a mode in which a module other than thede-spooler 701 extracts instruction information corresponding to eachmember printer driver from the print instruction section 8-a and thede-spooler 701 interprets print instructions extracted for each memberprinter driver is also conceivable.

[0078] When issuing jobs to various member printers, the de-spooler 701must create DEVMODE for each member printer as a print instruction thatcorresponds to each member printer driver, and the DEVMODE for eachmember printer is created by appropriately reflecting on it the contentdescribed in the print instruction section 8-a.

[0079] The client's job control print service 622 receives via the jobcontrol port monitor 621 the PDL data of various member jobs rendered bythe PDL driver 602, notifies information concerning the jobs received tothe server, and temporarily retains the job data in its proxy outputqueues (proxy output ports) 712. Thereafter, the job control printservice 622 sends the job data to the print devices 650 upon receiving atransmission instruction from the job control server 630.

[0080] <Processing for Creating a Port>

[0081] Next, referring to a flowchart in FIG. 9 and diagrams in FIGS.11, 12, 13 and 14, a description will be made as to the processing tocreate a port correlated to a print device as a setting method inaccordance with the first embodiment of the present invention. FIG. 9 isa flowchart of the processing to create a port. The flowchart in FIG. 9is executed by the CPU 200 of the information processor (the printserver 101 or the client computers 102-104) in FIGS. 1 and 2 based onthe network printer control program according to the present inventionand stored on the HD 205. Screens in FIGS. 11, 12, 13 and 14 aredisplayed on the display 207 of the information processor. On thedisplay 207, RAW or LPR can be selected as the protocol between theinformation processor and the print device (see FIG. 11).

[0082] In the setting method according to the present embodiment, instep S901, a user begins to create a port correlated to a print device,which is a print job output destination; a UI for adding ports can beopen, for example, in this step. According to the first embodiment, portcreation is described as taking place by, for example, a user through asetting UI requesting the job control print service 622 on the samemachine via the API to create a port and the port creation's beingrecorded as setting information for each port in a storage region ofregistry. However, if the port creation is recorded as settinginformation for each port and if it can be read when a UI for print endnotification that notifies the end of printing by a print device isdisplayed on the display device of the information processor, the portcreation is not dependent on any storage device. Further, the locationfor storing setting information for each port can be another PC oreither the clients or server of one example of the first embodiment; itcan be stored anywhere as long as it can be read before the UI for printend notification is displayed.

[0083] Next, in step S902, whether print devices correlated to the portsshould be searched from the network is determined. If it is determinedin step S902 to search for the print devices, print devices that can beset are searched from the network and a list of addresses and productnames of print devices that can be used on the network and are found asa result of the search is displayed in step S903. Such a search can berealized by using such scheme as broadcast-transmitting SNMP (SimpleNetwork Management Protocol) packets and analyzing reply packets, forexample. However, the method to search for print devices does notdependent on protocols or print device selection methods, and any one ofmethods to search for print devices that may be used by the systemaccording to the present invention can be adopted. Furthermore, if theuser knows addresses of print devices to be correlated and otherinformation required for the setting, the user can proceed to step S904and create a port.

[0084] Next, in step S904, the user designates the name of the port tobe created, the address of the print device to be correlated to theport, and device model name using a UI shown in FIG. 11, for example. Inthe first embodiment, the device model name is information thatspecifies the print device type and a plurality of print devices can berepresented under one device model name if there is no difference amongthem in terms of equipment control; the device model name does notnecessarily have to be a product name and can be any information thatidentifies the type of print device in a manner required for otherfunctions of the present system.

[0085] Next, in step S905, an ini file (initialized file: a file thatrecords setting information for Windows® applications) is referred toregarding whether each device model designated has the capability toexecute a print check function and whether the execution of the printcheck function would be changed as a result of setting conditions ofother functions. If it is determined in step S906 that a device model isnot a print device that can execute the print check function, the timingfor displaying the UI for print end notification is set, in step S907,in a detailed setting for each port to “when data transmission to theprint device is completed” (hereinafter referred to as “Upon completionof data transmission”), and the timing setting for print endnotification for a print device that cannot execute the print checkfunction is set so that the timing setting for print end notificationcannot be set to “when printing by the print device is completed”(hereinafter referred to as “Upon completion of printing”). When theuser inputs settings required to add a port and presses the OK button,the settings are recorded in a registry as setting information for theport in step S908 and the processing to create a port is terminated instep S909.

[0086] Although not necessarily required for the processing to addports, one example of making it impossible to change the timing forprint end notification for a print device that cannot execute the printcheck function to “Upon completion of printing” is to gray out a radiobutton as in FIG. 12, so that the radio button cannot be selected; inthis way, the current timing setting for print end notification can bedisplayed, while making it impossible to change the timing setting forthe print end notification to “Upon completion of printing”. The printend notification may be in any of other forms, such as, for example,“Upon confirmation of completion of printing”, etc.

[0087] In the meantime, if it is determined in step S906 that the devicemodel correlated to the port being created can execute the print checkfunction, whether the print check function can be executed without beingdependent on other setting conditions is determined in step S910. If itis determined in step S910 that the port is to be created for a devicemodel that can unconditionally execute the print check function, theprocessing proceeds to step S911, where the timing for print endnotification is set to “when printing by the print device is completed”(hereinafter referred to as “Upon completion of printing”); next theprocessing proceeds to step S908, where the settings are recorded in theregistry as information for the port, and to step S909, where theprocessing to add the port is terminated.

[0088] On the other hand, even if a device model is set as a devicemodel that can execute the print check function, if the device model isdetermined in step S910 as a device model that cannot execute the printcheck function due to other setting conditions that impact devices toperform the job print check, the processing proceeds to step S912 tocreate a port whose setting conditions allow the port to execute a printcheck as part of its default values. For example, in a device model thatcan execute the print check function using port 9100 in RAW mode butcannot execute the print check function when a job is sent in LPR (LinePrinter Remote: a remote print protocol used when a printer is shared inTCP/IP), a setting to send jobs in RAW mode for the port 9100 is set asthe default setting, as shown in FIG. 13. Next, in step S911, the timingsetting for the print end notification is set to “Upon completion ofprinting”. Next, the settings are recorded in the registry as settinginformation for the port in step S908 and the processing to create aport is terminated in step S909.

[0089] If a device model can execute the print check function, the usercan select the timing for the print end notification as either whenprinting ends (i.e., “Upon completion of printing”) or when transmissionends (i.e., “Upon completion of data transmission”). As a result, whencreating a port with settings of a device model that can execute theprint check function, the user has the choice of setting the timing forthe print end notification as either when transmission ends or whenprinting ends, as shown in FIG. 14, unlike with devices that cannotexecute the print check function.

[0090] The processing to create a port as the first embodiment of thepresent invention can be realized through the procedure described above.

[0091] <Print End Notification Processing>

[0092] Next, a description will be made as to a print end notificationprocessing with reference to FIG. 16. FIG. 16 shows a flowchart of theprocessing to perform a print end notification (display) based onsettings in the flowchart in FIG. 9 and in a flowchart in FIG. 10, whichwill be described in detail under the second embodiment, as well as onthe settings in the screen in FIG. 14. The flowchart in FIG. 16 isexecuted by the CPU 200 of the information processor (the print server101 or the client computers 102-104) in FIGS. 1 and 2 based on thenetwork printer control program according to the present invention andstored on the HD 205.

[0093] The print end notification processing starts in step S1601 anddata transmission to a print device begins in step S1602. In step S1603,whether the data transmission to the print device has finished isdetermined. If it is determined that the data transmission has finished,the processing proceeds to step S1604. In step S1604, a determination ismade as to whether not the timing for the print end notification is setto “Upon completion of data transmission” in the settings in FIGS. 9 and10 and in the setting of the screen in FIG. 14. If it is determined instep S1604 that the timing is set to “Upon completion of datatransmission”, the processing proceeds to step S1605, where the end ofprinting is recognized and a print end notification (display) isperformed on the display 207.

[0094] If it is determined in step S1604 that the timing for print endnotification is not set to “Upon completion of data transmission”, i.e.if it is determined that the timing for print end notification is set to“Upon completion of printing”, the processing proceeds to step S1606,where it is determined whether printing by the print device hasfinished. The determination method employed in this step can be adetermination of print completion based on a reception of a printcompletion signal from the print device. If the job involves printing 20pages, for example, receiving 20 paper delivery signals, each of whichis outputted every time the print device prints one page, can bedetermined as the completion of printing. If it is determined in stepS1606 that the printing has finished, the processing proceeds to stepS1605, where the end of printing is recognized and a print endnotification (display) is performed on the display 207.

[0095] The processing in FIG. 16 can be applied to distributed printingin which a print job is distributed among a plurality of print devicesto perform printing; in this case, a print end notification is performedin step S1605 for each print device designated in distributed printing,and when the print end notification has been performed for all printdevices, a distributed print end notification (display) can be performedon the display 207.

[0096] The print end notification processing as the first embodimentaccording to the present invention can be realized through the proceduredescribed above.

[0097] As described above, there is an effect according to the firstembodiment that allows a user to choose between a setting under which aprint end notification is displayed when data transmission to a printdevice ends and a setting under which a print end notification isdisplayed when a print device ends printing based on the difference incapabilities between print devices and the system in terms of theirprint check function. Furthermore, there is another effect that allowsthe default print end notification setting to be set within the range ofusable print end notification settings even when the user does notdetermine the capability of a print device to be registered with thesystem.

[0098] [Second Embodiment]

[0099] Next, a second embodiment of the present invention will bedescribed below. The configuration of an information processing system(FIG. 1), the configuration of an information processor according to theinformation processing system (FIG. 2), the overview of processing in aprint job control system for a print job issued by a general applicationin a client-server model of the information processing system (FIG. 6),and the relations between a print system and a print job in the printjob control system, as well as the overview of processing (FIG. 7)according to the second embodiment are the same as the first embodimentand their descriptions are therefore omitted.

[0100] <Processing for Changing Port Settings>

[0101] Next, a description will be made below as to a processing forchanging settings of a port correlated to a print device in accordancewith the second embodiment of the present invention with reference to aflowchart in FIG. 10 and diagrams in FIGS. 12, 13 and 15. FIG. 10 is aflowchart of the processing for changing port settings. The flowchart inFIG. 10 is executed by a CPU 200 of an information processor (a printserver 101 or client computers 102-104) in FIGS. 1 and 2 based on anetwork printer control program stored in an HD 205. Screens in FIGS.12, 13 and 15 are displayed on a display 207 of the informationprocessor.

[0102] The procedure in the second embodiment is applicable to anysetting changes as long as the changes are for port settings, but firsta description will be made as to a situation in which a port has alreadybeen created, where the port is correlated to a device model that canexecute a print check function and whose timing setting for a print endnotification can be changed as a result of other settings.

[0103] Step S1001 is applicable when beginning a setting change of aport that has already been created, and any setting change may beperformed as long as the change is for a port setting. In step S1002, ifthe setting change is a change that does not affect the execution of theprint check function, such as port name, the processing proceeds to stepS1003. In step S1003, since it is known that the device model canexecute the print check function, the processing proceeds to step S1007instead of changing the timing setting for print end notification; instep S1007, the changed setting is stored in a registry as settinginformation for each port and in step S1008 the port setting changeprocessing is terminated.

[0104] If a setting change that affects the execution of the print checkfunction is made in step S1002, for example, if a port setting changethat affects the timing setting for print end notification such aschanging the protocol of port 9100 from RAW mode to LPR for a portcorrelated to a device model that can execute the print check functionin the RAW mode for port 9100 but cannot execute the print checkfunction when a job is transmitted in LPR, for example, is made in stepS1002, a determination is made in step S1003 as to whether the settingallows the device to execute the print check function. If it isdetermined in step S1003 that the setting does not allow the device toexecute the print check function, it is determined in step S1004 as towhether the current timing setting for the print end notification is setto “Upon completion of printing”.

[0105] If it is determined in step S1004 that the timing setting forprint end notification is set to “Upon completion of data transmission”,the processing proceeds to step S1007 without changing the setting forprint end notification since the device can give a print endnotification regardless of its capability regarding the print checkfunction; in step S1007, the changed setting for the port is recorded inthe registry and in step S1008 the port setting change processing isterminated. If it is determined in step S1004 that the timing settingfor print end notification is set to “Upon completion of printing”, theprocessing proceeds to step S1005, where a message such as shown in FIG.15, for example, that notifies the user that the timing setting for theprint end notification becomes changed due to impact from other settingchanges is displayed; in step S1006, the timing for the print endnotification is automatically changed to when transmission ends; in stepS1007, the changed setting for the port is recorded in the registry asinformation for each port and in step S1008 the port setting changeprocessing is terminated.

[0106] If the timing setting for print end notification is displayedafter the setting has been changed to a setting that does not allow thedevice to execute the print check function, the related setting becomesgrayed out as in FIG. 12 so that the user cannot change the timingsetting to “Upon completion of printing”, and the setting for print endnotification that was set to “Upon completion of printing” is changed toand displayed as “Upon completion of data transmission”.

[0107] The processing for changing port settings as the secondembodiment of the present invention can be realized through theprocedure described above.

[0108] As described above, there is an effect according to the secondembodiment in that when changing other settings that impact the settingfor print end notification, the setting for print end notification isautomatically changed to a setting that is usable and the user isnotified that the setting for print end notification has automaticallybeen changed.

[0109] [Other Embodiments]

[0110] In the first and second embodiments, printers are described asprinting devices connected to a network of an information processorsystem, but the present invention is not limited to this and can beapplied to information processing systems in which, in addition toprinters, copiers and/or multifunctional equipment are connected to anetwork as printing devices.

[0111] Furthermore, the present invention can be applied to a systemcomprising a plurality of equipment or to a device comprising singleequipment. Needless to say, the present invention can be achieved bysupplying to the system or the device a medium such as a storage mediumstoring program codes of software that realize the functions of theembodiments described above, and by having a computer (or a CPU or MPU)of the system or device read and execute the program codes stored on themedium such as a storage medium.

[0112] In this case, the program codes themselves that are read from themedium such as a storage medium realize the functions of the embodimentsdescribed above, and the medium such as a storage medium that stores theprogram codes constitute the present invention. The medium such as astorage medium on which to supply the program codes may be a Floppy®(disk, hard disk, optical disk, optical magnetic disk, CD-ROM, CD-R,magnetic tape, nonvolatile memory card, ROM, or a download via anetwork.

[0113] Furthermore, the present invention is applicable not only whenthe program codes read by the computer are executed to realize thefunctions of the embodiments, but also when an OS that operates on thecomputer performs a part or all of the actual processing based on theinstructions contained in the program codes and thereby realizes thefunctions of the embodiments.

[0114] Moreover, the present invention is also applicable when theprogram codes that are read from the medium such as a storage medium arewritten onto a memory of an expansion board inserted into a computer orof an expansion unit connected to a computer, and a CPU provided on theexpansion board or the expansion unit performs a part or all of theactual processing based on the instructions contained in the programcodes and thereby realizes the functions of the embodiments.

[0115] As described above the embodiments of the present invention areeffective in that a user can choose between a setting under which aprint end notification is displayed when data transmission to a printdevice ends and a setting under which a print end notification isdisplayed when a print device ends printing, based on the difference incapabilities between print devices and a system in terms of their printcheck function.

[0116] Furthermore, the embodiments of the present invention provide aneffect that allows the default print end notification setting to be setwithin the range of usable print end notification settings even when auser does not determine the capability of a print device to beregistered with the system.

[0117] The embodiments of the present invention are also effective inthat when changing other settings that impact the setting for the printend notification, the setting for the print end notification isautomatically changed to a setting that makes it usable and can notifythe user that the setting for the print end notification hasautomatically been changed.

[0118] While the description above refers to particular embodiments ofthe present invention, it will be understood that many modifications maybe made without departing from the spirit thereof. The accompanyingclaims are intended to cover such modifications as would fall within thetrue scope and spirit of the present invention.

[0119] The presently disclosed embodiments are therefore to beconsidered in all respects as illustrative and not restrictive, thescope of the invention being indicated by the appended claims, ratherthan the foregoing description, and all changes which come within themeaning and range of equivalency of the claims are therefore intended tobe embraced therein.

What is claimed is:
 1. An information notification apparatus comprising:a setting module that sets a timing to make a print end notification toone of when printing by a device ends and when data transmission to thedevice ends; and a notification module that makes the print endnotification when data transmission to the device ends if the timing tomake the print end notification is set to when data transmission to thedevice ends, and makes the print end notification when printing by thedevice ends if the timing to make the print end notification is set towhen printing by the device ends.
 2. An information notificationapparatus according to claim 1, wherein the device includes a pluralityof printers that are designated in a distributed printing in which aprint job is divided and distributed for printing.
 3. An informationnotification apparatus comprising: a judging module that judges whethera device has a print check ability; and a setting module that sets atiming to make a print end notification to when printing by the deviceends if the judging module judges that the device has a print checkability, and sets the timing to make a print end notification to whendata transmission to the device ends if the judging module judges thatthe device does not have a print check ability.
 4. An informationnotification apparatus according to claim 3, wherein, when the judgingmodule judges that the device has a print check ability and has aspecified condition, the setting module makes a setting that allows thedevice to execute the print check ability, and sets the timing to make aprint end notification when printing by the device ends.
 5. Aninformation notification apparatus according to claim 3, wherein judgingand setting operations of the judging module and the setting module areexecuted when a port for outputting data to the device is created.
 6. Aninformation notification apparatus according to claim 3, furthercomprising a reference module that refers to a print check ability of adesignated device.
 7. An information notification method comprising: asetting step of setting a timing to make a print end notification to oneof when a device ends printing and when data transmission to the deviceends; and a notification step of making the print end notification whendata transmission to the device ends if the timing to make the print endnotification is set to when data transmission to the device ends, andmaking the print end notification when the device ends printing if thetiming to make the print end notification is set to when the device endsprinting.
 8. An information notification method according to claim 7,further comprising a step of designating a plurality of printers in adistributed printing in which a print job is divided and distributed forprinting.
 9. An information notification method comprising: a judgingstep of judging whether a device has a print check ability; and asetting step of setting a timing to make a print end notification towhen printing by the device ends if the judging step judges that thedevice has a print check ability, and setting the timing to make a printend notification to when data transmission to the device ends if thejudging step judges that the device does not have a print check ability.10. An information notification method according to claim 9, wherein,when the judging step judges that the device has a print check abilityand has a specified condition, the setting step makes a setting thatallows the device to execute the print check ability, and sets thetiming to make a print end notification when printing by the deviceends.
 11. An information notification method according to claim 9,wherein judging and setting operations of the judging step and thesetting step are executed when a port for outputting data to the deviceis created.
 12. An information notification apparatus according to claim9, further comprising a reference step of referring to a print checkability of a designated device.
 13. A computer-readable program thatrenders a computer to execute: a setting function of setting a timing tomake a print end notification to one of when a device ends printing andwhen data transmission to the device ends; and a notification functionof making the print end notification when data transmission to thedevice ends if the timing to make the print end notification is set towhen data transmission to the device ends, and making the print endnotification when the device ends printing if the timing for the printend notification is set to when the device ends printing.
 14. Acomputer-readable program according to claim 13, further comprising afunction of designating a plurality of printers in a distributedprinting in which a print job is divided and distributed for printing.15. A computer-readable program that renders a computer to execute: ajudging function of judging whether a device has a print check ability;and a setting function of setting a timing to make a print endnotification to when printing by the device ends if the judging junctionjudges that the device has a print check ability, and setting the timingto make a print end notification to when data transmission to the deviceends if the judging function judges that the device does not have aprint check ability.
 16. A computer-readable program according to claim15, wherein, when the judging function judges that the device has aprint check ability and has a specified condition, the setting functionmakes a setting that allows the device to execute the print checkability, and sets the timing to make a print end notification whenprinting by the device ends.
 17. A computer-readable program accordingto claim 15, wherein judging and setting operations of the judgingfunction and the setting function are executed when a port foroutputting data to the device is created.
 18. A computer-readableprogram according to claim 15, further rendering the computer to executea reference function of referring to a print check ability of adesignated device.
 19. A computer-readable storage medium that stores aprogram that renders a computer to execute: a setting function ofsetting a timing to make a print end notification to one of when adevice ends printing and when data transmission to the device ends; anda notification function of making the print end notification when datatransmission to the device ends if the timing to make the print endnotification is set to when data transmission to the device ends, andmaking the print end notification when the device ends printing if thetiming for the print end notification is set to when the device endsprinting.
 20. A computer-readable storage medium that stores a programthat renders a computer to execute: a judging function of judgingwhether a device has a print check ability; and a setting function ofsetting a timing to make a print end notification to when printing bythe device ends if the judging junction judges that the device has aprint check ability, and setting the timing to make a print endnotification to when data transmission to the device ends if the judgingfunction judges that the device does not have a print check ability.